package com.bingxue.edu.framework.exception;

/**
 * 错误码接口
 *
 * @author panbo
 * @since 2024/6/26
 */
public interface ErrorCode {

    /**
     * 错误码，共6位
     * 第1位：错误级别。1代表系统错误，2代表业务错误
     * 第2-3位：模块码。00代表公共模块，01开始由各模块协商约定
     * 第4-6位：业务码。由各模块从000开始自增
     */
    Integer getCode();

    /**
     * 错误消息
     */
    String getMessage();

    /**
     * 判断是否为系统错误
     */
    default boolean isSystemError() {
        return getCode() < 200000;
    }
}
